package com.spzx.product.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.spzx.product.api.domain.vo.SkuLockVo;
import com.spzx.product.domain.SkuStock;
import org.apache.ibatis.annotations.Param;

/**
 * @ClassName SkuStockMapper
 * @Author 波
 * @Date 2024/7/30 16:14
 */
public interface SkuStockMapper extends BaseMapper<SkuStock> {
    /**
     * 查询库存是否充足
     * @param skuId
     * @param skuNum
     * @return
     */
    SkuStock checkAndLock(@Param("skuId") Long skuId,@Param("skuNum") Integer skuNum);

    /**
     * 锁定库存
     * @param skuId
     * @param skuNum
     * @return
     */
    int lock(@Param("skuId") Long skuId, @Param("skuNum")Integer skuNum);

    /**
     * 解锁库存
     * @param skuId
     * @param skuNum
     * @return
     */
    int unLock(@Param("skuId") Long skuId, @Param("skuNum")Integer skuNum);

    int minusSkuStock(@Param("skuId") Long skuId, @Param("skuNum")Integer skuNum);
}
